With the increasing development of computing technology industries, a variety of electronic apparatus such as personal computers, notebook computers or mobile phones become essential to human's life. Meanwhile, the electronic apparatus consumes electric power that is also essential to human's life. Therefore, it is a trend to design electric apparatus with high performance but low power-consumption.
Advanced Configuration and Power Interface (ACPI) is one of the popular systems for managing the power of a personal computer system or notebook computer system. The power states defined in the ACPI specification include G (global state), D (device state), S (sleeping state) and C (CPU state). The G state is indicative of a system power state; the device state is indicative of a device power state; the sleeping state is indicative of an OS (operating system)-idle power state; and the C state is indicative of a CPU power state. The C state is further classified into four levels, i.e. C0, C1, C2 and C3. The operating system will have the CPU enter one of the four levels according to the current operational state of the CPU.
When the CPU is in a normal working state so as to execute instructions, the power level of the CPU is supposed to be in the C0 level. If the CPU is not executing instructions but is required to return to work in a short time, the CPU should be in the C1 power level. Further, if the CPU needs only to execute limited functions, e.g. snooping and dealing with a bus master request for a peripheral device to access to a system memory, a C2 power level is properly entered. With almost no task, the CPU will enter the C3 power level.
Please refer to FIG. 1, which is a schematic configuration diagram of the CPU power levels defined by the ACPI specification. As shown in FIG. 1, no matter if the CPU power is at the C1, C2 or C3 level, the CPU will recover to the C0 power level to execute an interrupt service when receiving an interrupt request from the peripheral device. For example, a peripheral device issues a bus master request to access the data stored in the system memory, the CPU needs to execute a snooping function. Generally, for executing the snooping function, the power level of the CPU should be C2 or above. In other words, the CPU cannot execute the snooping function at the C3 power level. Accordingly, if the CPU is at the C3 power level, it is required that the CPU recovers to the C0 power level from the C3 level so as to execute the snooping function to have the bus master request processed.
It is understood from the above descriptions that the CPU is inefficiently recovered from the C3 level to the C0 level since the C2 power level would be enough for executing the snooping function. Moreover, after the bus master request is processed, the CPU stays at the C0 power level until next power-saving condition is applied, which results in more unnecessary power consumption.